#if IN_HEADER(__GTK_MAIN_H__)
#if IN_FILE(__GTK_MAIN_C__)
+gtk_get_debug_flags
+gtk_set_debug_flags
gtk_get_option_group
gtk_get_current_event
gtk_get_current_event_device
#endif
#ifdef INCLUDE_VARIABLES
-gtk_debug_flags
gtk_text_attr_appearance_type
gtk_text_char_type
gtk_text_child_type
g_object_set_property (obj, param->name, ¶m->value);
#if G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_BUILDER)
+ if (gtk_get_debug_flags () & GTK_DEBUG_BUILDER)
{
gchar *str = g_strdup_value_contents ((const GValue*)¶m->value);
g_print ("set %s: %s = %s\n", info->id, param->name, str);
ParserData *data = (ParserData*)user_data;
#ifdef GTK_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_BUILDER)
+ if (gtk_get_debug_flags () & GTK_DEBUG_BUILDER)
{
GString *tags = g_string_new ("");
int i;
#ifdef G_ENABLE_DEBUG
#define GTK_NOTE(type,action) G_STMT_START { \
- if (gtk_debug_flags & GTK_DEBUG_##type) \
+ if (gtk_get_debug_flags () & GTK_DEBUG_##type) \
{ action; }; } G_STMT_END
#else /* !G_ENABLE_DEBUG */
#endif /* G_ENABLE_DEBUG */
-#ifdef G_OS_WIN32
-# ifdef GTK_COMPILATION
-# define GTKVAR __declspec(dllexport)
-# else
-# define GTKVAR extern __declspec(dllimport)
-# endif
-#else
-# define GTKVAR extern
-#endif
-
-GTKVAR guint gtk_debug_flags;
+guint gtk_get_debug_flags (void);
+void gtk_set_debug_flags (guint flags);
G_END_DECLS
info.flags = CHECK_OFFSETS|CHECK_STRINGS;
#ifdef G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_ICONTHEME)
+ if (gtk_get_debug_flags () & GTK_DEBUG_ICONTHEME)
{
if (!_gtk_icon_cache_validate (&info))
{
*/
static GSList *key_snoopers = NULL;
-guint gtk_debug_flags = 0; /* Global GTK debug flag */
+static guint debug_flags = 0; /* Global GTK debug flag */
#ifdef G_ENABLE_DEBUG
static const GDebugKey gtk_debug_keys[] = {
static gboolean
gtk_arg_debug_cb (const char *key, const char *value, gpointer user_data)
{
- gtk_debug_flags |= g_parse_debug_string (value,
- gtk_debug_keys,
- G_N_ELEMENTS (gtk_debug_keys));
+ debug_flags |= g_parse_debug_string (value,
+ gtk_debug_keys,
+ G_N_ELEMENTS (gtk_debug_keys));
return TRUE;
}
static gboolean
gtk_arg_no_debug_cb (const char *key, const char *value, gpointer user_data)
{
- gtk_debug_flags &= ~g_parse_debug_string (value,
- gtk_debug_keys,
- G_N_ELEMENTS (gtk_debug_keys));
+ debug_flags &= ~g_parse_debug_string (value,
+ gtk_debug_keys,
+ G_N_ELEMENTS (gtk_debug_keys));
return TRUE;
}
env_string = g_getenv ("GTK_DEBUG");
if (env_string != NULL)
{
- gtk_debug_flags = g_parse_debug_string (env_string,
- gtk_debug_keys,
- G_N_ELEMENTS (gtk_debug_keys));
+ debug_flags = g_parse_debug_string (env_string,
+ gtk_debug_keys,
+ G_N_ELEMENTS (gtk_debug_keys));
env_string = NULL;
}
#endif /* G_ENABLE_DEBUG */
g_log_set_always_fatal (fatal_mask);
}
- if (gtk_debug_flags & GTK_DEBUG_UPDATES)
+ if (debug_flags & GTK_DEBUG_UPDATES)
gdk_window_set_debug_updates (TRUE);
{
}
+/**
+ * gtk_get_debug_flags:
+ *
+ * Returns the GTK+ debug flags setting.
+ */
+guint
+gtk_get_debug_flags (void)
+{
+ return debug_flags;
+}
+
+/**
+ * gtk_set_debug_flags:
+ *
+ * Sets the GTK+ debug flags.
+ */
+void
+gtk_set_debug_flags (guint flags)
+{
+ debug_flags = flags;
+}
+
/**
* gtk_get_option_group:
* @open_default_display: whether to open the default display
#ifdef G_ENABLE_DEBUG
/* If we are debugging printing don't delete the tmp files */
- if (!(gtk_debug_flags & GTK_DEBUG_PRINTING))
+ if (!(gtk_get_debug_flags () & GTK_DEBUG_PRINTING))
#endif /* G_ENABLE_DEBUG */
g_unlink (filename);
g_free (filename);
static void
_gtk_rbnode_free (GtkRBNode *node)
{
- if (gtk_debug_flags & GTK_DEBUG_TREE)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TREE)
{
node->left = (gpointer) 0xdeadbeef;
node->right = (gpointer) 0xdeadbeef;
gint height = tree->root->offset;
#ifdef G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_TREE)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TREE)
_gtk_rbtree_test (G_STRLOC, tree);
#endif
_gtk_rbtree_free (tree);
#ifdef G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_TREE)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TREE)
_gtk_rbtree_test (G_STRLOC, tmp_tree);
#endif
}
GtkRBTree *tmp_tree;
#ifdef G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_TREE)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TREE)
{
g_print ("\n\n_gtk_rbtree_insert_after: %p\n", current);
_gtk_rbtree_debug_spew (tree);
_gtk_rbtree_insert_fixup (tree, node);
#ifdef G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_TREE)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TREE)
{
g_print ("_gtk_rbtree_insert_after finished...\n");
_gtk_rbtree_debug_spew (tree);
GtkRBTree *tmp_tree;
#ifdef G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_TREE)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TREE)
{
g_print ("\n\n_gtk_rbtree_insert_before: %p\n", current);
_gtk_rbtree_debug_spew (tree);
_gtk_rbtree_insert_fixup (tree, node);
#ifdef G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_TREE)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TREE)
{
g_print ("_gtk_rbtree_insert_before finished...\n");
_gtk_rbtree_debug_spew (tree);
}
}
#ifdef G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_TREE)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TREE)
_gtk_rbtree_test (G_STRLOC, tree);
#endif
}
#ifdef G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_TREE)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TREE)
{
g_print ("\n\n_gtk_rbtree_remove_node: %p\n", node);
_gtk_rbtree_debug_spew (tree);
g_return_if_fail (x == tree->root);
#ifdef G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_TREE)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TREE)
_gtk_rbtree_test (G_STRLOC, tree);
#endif
_gtk_rbnode_free (y);
#ifdef G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_TREE)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TREE)
{
g_print ("_gtk_rbtree_remove_node finished...\n");
_gtk_rbtree_debug_spew (tree);
tree = _gtk_text_iter_get_btree (start);
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_btree_check (tree);
/* Broadcast the need for redisplay before we break the iterators */
chars_changed (tree);
segments_changed (tree);
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_btree_check (tree);
/* Re-initialize our iterators */
{
gint current_y = 0;
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_btree_check (tree);
if (node->level == 0)
queue_tag_redisplay (tree, tag, &start, &end);
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_btree_check (tree);
}
iter = *where;
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_iter_check (&iter);
if (mark != NULL)
mark);
}
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_iter_check (&iter);
/* Link mark into new location */
redisplay_mark_if_visible (mark);
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_iter_check (&iter);
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_btree_check (tree);
return mark;
g_return_val_if_fail (line != NULL, NULL);
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_btree_check (tree);
if (tag == NULL)
g_return_val_if_fail (line != NULL, NULL);
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_btree_check (tree);
if (tag == NULL)
if (new_height)
*new_height = state.new_height;
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_btree_check (tree);
return TRUE;
gtk_text_btree_rebalance (tree, node);
}
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_btree_check (tree);
}
cleanup_line (line);
segments_changed (tree);
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_btree_check (tree);
}
static void
check_invariants (const GtkTextIter *iter)
{
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_iter_check (iter);
}
#else
count = gtk_text_iter_get_line_index (iter);
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
_gtk_text_iter_check (iter);
prev = NULL;
seg->char_count = g_utf8_strlen (seg->body.chars, seg->byte_count);
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
char_segment_self_check (seg);
return seg;
seg->char_count = chars1 + chars2;
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
char_segment_self_check (seg);
return seg;
g_assert (index < seg->byte_count);
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
{
char_segment_self_check (seg);
}
new1->next = new2;
new2->next = seg->next;
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
{
char_segment_self_check (new1);
char_segment_self_check (new2);
{
GtkTextLineSegment *segPtr2, *newPtr;
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
char_segment_self_check (segPtr);
segPtr2 = segPtr->next;
newPtr->next = segPtr2->next;
- if (gtk_debug_flags & GTK_DEBUG_TEXT)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TEXT)
char_segment_self_check (newPtr);
g_free (segPtr);
#ifdef DEBUG_VALIDATION_AND_SCROLLING
return FALSE;
#endif
- if (gtk_debug_flags & GTK_DEBUG_UPDATES)
+ if (gtk_get_debug_flags () & GTK_DEBUG_UPDATES)
return FALSE;
g_object_get (settings, "gtk-cursor-blink", &blink, NULL);
static inline void
validate_tree (GtkTreeStore *tree_store)
{
- if (gtk_debug_flags & GTK_DEBUG_TREE)
+ if (gtk_get_debug_flags () & GTK_DEBUG_TREE)
{
g_assert (G_NODE (tree_store->root)->parent == NULL);
g_return_if_fail (GTK_IS_WIDGET (widget));
#ifdef G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_GEOMETRY)
+ if (gtk_get_debug_flags () & GTK_DEBUG_GEOMETRY)
{
gint depth;
GtkWidget *parent;
main (int argc, char** argv)
{
/* First, we turn on btree debugging. */
- gtk_debug_flags |= GTK_DEBUG_TEXT;
+ gtk_set_debug_flags (gtk_get_debug_flags () | GTK_DEBUG_TEXT);
gtk_test_init (&argc, &argv);
pixbuf_init ();
#ifdef G_ENABLE_DEBUG
/* If we are debugging printing don't delete the tmp files */
- if (!(gtk_debug_flags & GTK_DEBUG_PRINTING))
+ if (!(gtk_get_debug_flags () & GTK_DEBUG_PRINTING))
unlink (ppd_filename);
#else
unlink (ppd_filename);